<?php

/**
 * Элемент формы "список".
 *
 */
class Kernel_Form_Element_List extends Kernel_Form_Element_Abstract {

    /**
     * Одно- или двумерный (для SELECT и OPTGROUP) массив, хранящий список
     * доступных для выбора значений.
     *
     * @var array
     */
    public $values = array();

    /**
     * Определяет, можно ли выбрать несколько значений.
     *
     * @var array
     */
    public $multiple = false;

    /**
     * Пустое значение списка.
     *
     * @var mixed
     */
    public $null = false;

    /**
     * Возвращает, содержит ли элемент пустое значение.
     *
     * @return  boolean
     */
    protected function _getNull() {
        return (boolean)$this->null;
    }

    /**
     * Возвращает доступные значения элемента для шаблона.
     *
     * @return  boolean
     */
    protected function _getValues() {
        return ($this->null
            ? array('' => $this->null)
            : array()) + $this->values;
    }
}
